The rapid growth in Internet usage has increased the dependency on information stored and communicated by businesses and individuals. In particular, growth in DSL and cable modem usage by consumers and businesses and increased business-to-business Internet activity have contributed to this dependency. As the desire for confidentiality, authenticity, and integrity increases, an increasing proportion of this information is sent in secure or encrypted form. Further, an increasing proportion of electronic communication will occur at increasingly fast speeds as information technology (“IT”) continues to develop.
Secure communications are desirable for sensitive activities, for example on-line financial transactions or the transmission of personal medical information. However, secure communications may require significantly increased processing demands at both the sending and receiving ends of a communications session. This processing demand is further increased as communication bandwidth improves and increases the volume of data for security processing. As the demand for secure Internet communication increases, security processing needs consume ever increasing proportions of the available central processing capability of communications network servers.
In secure Internet communication, for example, Internet Protocol (“IP”) communication servers encrypt, decrypt, sign and authenticate inbound and outbound data packets to accomplish typical IP communication. Cryptographic processors and other devices accomplish or share some of the cryptographic processing load such as the encrypting, decrypting and authenticating of data packets.
The last decade has seen a push toward systems which support and/or utilize multiple cryptographic algorithms, or “ciphers.” However, conventional systems may be unable to meet the processing speed demands of modern ciphers. For example, conventional devices may be a firmware system whereby a conventional microprocessor is programmed to perform the cipher. However, such conventional firmware systems require writing and testing of a large amount of code as well as requiring potentially long processing times, especially when performing complex ciphers or complex steps within a cipher.
Moreover, conventional systems may also be hardware devices designed and programmed to support those ciphers which are known and/or foreseen at the time the device is designed. Conventional encryption comprises a variety of different cipher families and many different ciphers within these families, and new ciphers are often created. When a new cipher is released after development of a conventional, hardware cryptographic device, the conventional device cannot be updated quickly and/or simply to support the new cipher.
Accordingly, there is a desire for a device which overcomes these and other related problems.